package catalina.container;

import catalina.connection.Request;
import catalina.connection.Response;
import catalina.startup.LifeCycle;

import java.util.List;
import java.util.Properties;

public interface Container extends LifeCycle {
    public String getName();

    public void setName(String name);

    public void setParent(Container container);

    public Container getParent();

    public void addChild(Container child);

    public Container findChild(String name);

    public List<Container> findChildren();

    public Properties getProperties();

    public void setProperties(Properties properties);

    public void service(Request request, Response response);
}
